package com.tianqu.tms.dao;

import java.util.List;

import com.tianqu.tms.core.exception.TmsDaoException;
import com.tianqu.tms.dto.ProxyCarInfoDto;

/**
 * 
 * 待办车辆DAO层
 * 
 * @author Administrator
 *
 */
public interface ProxyCarInfoDao {
	
	/**
	 * 根据车辆临时流水号查询车辆是否过期
	 * 
	 */
	public int findPassProxyCarInfoBySerial(String serial,String fourMonth,int limitStatus) throws TmsDaoException;
	/**
	 * 
	 * 查询车辆ID是否存在
	 */
	public int findProxyCarInfoExistBySerial(String serial) throws TmsDaoException; 
	
	/**
	 * insert 操作
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void insertProxyCarInfo(ProxyCarInfoDto dto)throws TmsDaoException; 

	/**
	 * 待办受理操作员添加待办信息
	 * 
	 * 状态变为未缴费
	 * 
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void insertProxyCarInfoByAdmin(ProxyCarInfoDto dto)throws TmsDaoException; 
	
	
	/**
	 * 待办车辆查询
	 * @param memberId
	 * @return
	 * @throws TmsDaoException
	 */
	public List<ProxyCarInfoDto> findProxyCarInfoAll(String memberId,String serial,String licensePlate,String timeA,int status,String timeB)throws TmsDaoException;

	
	/**
	 * 根据流水号载入待办车辆信息
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public ProxyCarInfoDto findProxyCarBySerial(String serial)throws TmsDaoException;
	
	
	/**
	 * 根据流水号更新待办车辆信息
	 * @param serial
	 * @throws TmsDaoException
	 */
	public void updateProxyCarBySerial(ProxyCarInfoDto dto)throws TmsDaoException;
	
	/**
	 * 
	 * 根据流水号查询待办车辆信息
	 */
	public ProxyCarInfoDto findProxyCarInfoBySerial(String serial) throws TmsDaoException;

	/**
	 * 对待办车辆已缴费车辆信息更新
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateProxyCarPaidBySerial(ProxyCarInfoDto dto)throws TmsDaoException;

	/**
	 * 
	 * 超期车辆解锁
	 */
	public void unchainProxyCarInfoBySerial(String serial,int status,int updateId) throws TmsDaoException;
	
	/**
	 * 未受理 ----》受理更新操作
	 */
	public void updateNCarInfo(ProxyCarInfoDto dto,int bsflag,String lsSerial) throws TmsDaoException;
	
	/**
	 * 已交费更新车辆信息
	 */
	public void updatePayedProxyCarInfo(ProxyCarInfoDto dto) throws TmsDaoException; 
	
	/**
	 * UPDATE时间比对
	 */
	public int findUpdateTimeBySerial(String serial,String inTime) throws TmsDaoException;

	/**
	 * 
	 * 待办缴费
	 */
	public void updatePayedStatusBySerial(String serial,int status,int userId) throws TmsDaoException;
}
